Системы управления веб-контентом

Внешний вид сайта: темы и шаблоны

Системы управления веб-контентом

План лекции

Основные вопросы

  • Понятие темы (шаблона). Отделение логики от представления
  • Поиск, установка и активация тем
  • Репозиторий тем. Платные и бесплатные темы
  • Настройка внешнего вида через Кастомайзер (Customizer)
  • Управление цветами, шрифтами, логотипом
  • Понятие дочерней темы (Child Theme) и её важность

Цели лекции

  • Понять назначение тем и принцип разделения логики от представления
  • Научиться находить, устанавливать и настраивать темы
  • Освоить работу с Кастомайзером
  • Понять, зачем нужны дочерние темы и как их создавать
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Что такое тема (шаблон)?

Определение

Тема (theme/template) — это набор файлов, определяющих визуальное оформление сайта: дизайн, расположение элементов, цвета, шрифты и типографику.

Тема не изменяет содержимое сайта — она определяет, как это содержимое отображается.

Аналогия из жизни

  • CMS — это здание (несущие стены, коммуникации)
  • Контент — это мебель и вещи внутри
  • Тема — это отделка (обои, краска, освещение)
  • Можно сменить отделку, не трогая стены и мебель
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Отделение логики от представления

Принцип разделения

В основе современных CMS лежит паттерн MVC (Model-View-Controller), где тема реализует слой View (представление):

  • Model (модель) — данные: записи, страницы, настройки (хранятся в БД)
  • View (представление) — шаблоны отображения (файлы темы)
  • Controller (контроллер) — ядро CMS, обрабатывающее запросы

Почему это важно?

  • Гибкость — можно полностью изменить дизайн без изменения контента
  • Безопасность — контент не зависит от оформления
  • Удобство — дизайнер и контент-менеджер работают независимо
  • Масштабируемость — один сайт может иметь несколько оформлений

В WordPress

WordPress использует упрощённый подход: ядро выступает контроллером, плагины расширяют функционал, а тема отвечает за отображение.

Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Структура темы WordPress

Обязательные файлы

  • style.css — основной файл стилей, содержит заголовок темы с метаданными (название, автор, версия, лицензия)
  • index.php — главный шаблон, отображается при отсутствии более специфичных шаблонов

Ключевые файлы шаблонов

  • header.php — шапка сайта (логотип, меню навигации)
  • footer.php — подвал сайта (копирайт, ссылки)
  • sidebar.php — боковая панель
  • single.php — шаблон отдельной записи
  • page.php — шаблон страницы
  • archive.php — шаблон архивов (рубрики, метки)
  • 404.php — страница «Не найдено»
  • functions.php — функции темы (хуки, виджеты, меню)
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Иерархия шаблонов WordPress

Что такое иерархия шаблонов?

WordPress определяет, какой файл шаблона использовать для отображения текущей страницы, следуя строгой иерархии:

  • Главная страница: front-page.php → home.php → index.php
  • Запись: single-{post-type}.php → single.php → index.php
  • Страница: page-{slug}.php → page-{id}.php → page.php → index.php
  • Рубрика: category-{slug}.php → category-{id}.php → category.php → archive.php → index.php
  • Метка: tag-{slug}.php → tag-{id}.php → tag.php → archive.php → index.php
  • Автор: author-{nicename}.php → author.php → archive.php → index.php
  • 404: 404.php → index.php

Почему это полезно?

Можно создать индивидуальный шаблон для конкретной страницы или рубрики, просто добавив файл с нужным именем.

Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Основные файлы темы: style.css

Заголовок темы (обязательная часть style.css)

/*
Theme Name: My Custom Theme
Theme URI: https://example.com
Author: Имя автора
Author URI: https://example.com
Description: Описание темы
Version: 1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2
Text Domain: my-custom-theme
Tags: blog, custom-background,
       custom-logo, custom-menu
*/

Значение полей

  • Theme Name — уникальное название (обязательно)
  • Version — версия темы (важно для обновлений)
  • Requires at least — минимальная версия WordPress
  • Text Domain — идентификатор для локализации/переводов
  • Tags — ключевые слова для поиска в репозитории
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Основные файлы темы: functions.php

Назначение

Файл functions.php — это «мозг» темы. Он загружается при каждом запросе к сайту и определяет функциональность темы.

Типичные задачи functions.php

function my_theme_enqueue_styles() {
    wp_enqueue_style('main-style',
        get_stylesheet_uri());
    wp_enqueue_script('main-js',
        get_template_directory_uri()
        . '/js/main.js');
}
add_action('wp_enqueue_scripts',
    'my_theme_enqueue_styles');

register_nav_menus(array(
    'primary' => __('Primary Menu', 'my-theme'),
    'footer'  => __('Footer Menu', 'my-theme'),
));

functions.php vs плагин

  • Функции темы пропадают при смене темы
  • Функции плагина сохраняются при смене темы
  • Для критичного функционала используйте плагины
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

WordPress Template Tags

Что такое Template Tags?

Template Tags — это встроенные функции PHP, которые WordPress предоставляет для вывода динамического контента внутри шаблонов темы.

Примеры Template Tags

Функция Назначение
the_title() Заголовок текущей записи
the_content() Содержимое записи
the_excerpt() Анонс записи
the_permalink() URL текущей записи
the_author() Имя автора
the_date() Дата публикации
the_category() Рубрики записи
the_tags() Метки записи
get_header() Подключает header.php
get_footer() Подключает footer.php
get_sidebar() Подключает sidebar.php
wp_nav_menu() Выводит меню навигации
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Полнофункциональная тема vs блоковая тема

Классическая тема (PHP-шаблоны)

  • Использует PHP-файлы шаблонов
  • Гибкость через код
  • Полный контроль над HTML/CSS
  • Совместима с любыми плагинами
  • Требует знаний PHP для изменения

Блоковая тема (FSE — Full Site Editing)

  • Введена в WordPress 5.9 (2022)
  • Основана на редакторе блоков Gutenberg
  • Шаблоны редактируются визуально, без кода
  • Использует HTML-файлы с блоковыми комментариями
  • Рекомендуется для нетехнических пользователей

Тенденция

WordPress движется в сторону блоковых тем, но классические темы остаются стандартом для сложных проектов и кастомной разработки.

Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Репозиторий тем WordPress

Что это?

Официальный каталог тем на wordpress.org/themes — крупнейший бесплатный источник дизайнов для WordPress.

Статистика репозитория

Параметр Значение
Бесплатные темы 12 000+
Новые темы в месяц 100+
Тем с поддержкой FSE 500+
Проверок безопасности Автоматические + ручные

Что содержит карточка темы?

  • Название и описание — краткое и подробное
  • Скриншоты — демонстрация внешнего вида
  • Рейтинг — оценка пользователей (1-5 звёзд)
  • Количество активных установок — показатель популярности
  • Совместимость — с какой версией WordPress работает
  • Последнее обновление — дата последнего обновления
  • Теги — особенности темы (колонки, блог, интернет-магазин и др.)
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Критерии выбора темы

Надёжные признаки

  • Высокий рейтинг (4+ звезды)
  • 50 000+ активных установок
  • Регулярные обновления (в течение последних 6 месяцев)
  • Совместимость с текущей версией WordPress
  • Адаптивный дизайн (mobile-friendly)
  • Поддержка Gutenberg / Full Site Editing
  • Хорошая документация

Тревожные сигналы

  • Не обновлялась более 2 лет
  • Мало активных установок (< 1 000)
  • Низкий рейтинг (< 3 звёзд)
  • Нет отзывов или отрицательные отзывы
  • Неадаптивный дизайн
  • Закодированные ссылки (encoded/encrypted code)
  • Обфусцированный код в файлах темы
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Бесплатные vs платные темы

Бесплатные темы

Плюсы:

  • Бесплатно
  • Проверены командой WordPress на безопасность
  • Устанавливаются из админ-панели
  • Обновления из репозитория

Минусы:

  • Ограниченный функционал
  • Массовость (многие сайты выглядят одинаково)
  • Ограниченная поддержка
  • Часто требуется «Pro-версия» для полного функционала

Платные темы

Плюсы:

  • Уникальный дизайн
  • Расширенный функционал
  • Приоритетная техподдержка
  • Регулярные обновления
  • Демо-контент (one-click demo import)

Минусы:

  • Стоимость (30-200 USD)
  • Нет гарантии обновлений
  • Возможен «блоб» (перегруженный код)
  • Зависимость от разработчика
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Популярные источники тем

Бесплатные

  • WordPress.org Themes — официальный репозиторий
  • Underscores (_s) — стартовая тема от Automattic
  • GeneratePress (базовая версия) — лёгкая и быстрая тема

Платные

  • ThemeForest — крупнейший маркетплейс (Envato)
  • Elegant Themes — Divi и Extra
  • StudioPress — Genesis Framework
  • Astra Pro — популярная мультицелевая тема
  • GeneratePress Premium — быстрая тема с расширенным функционалом

WordPress-решения для бизнеса

  • Astra — мультицелевая, работает с конструкторами страниц
  • GeneratePress — минимальная, высокая производительность
  • Kadence — современная, FSE-совместимая
  • OceanWP — для интернет-магазинов (WooCommerce)
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Установка темы

Способ 1: Из репозитория (рекомендуемый)

  1. Внешний вид → Темы → Добавить
  2. Найдите нужную тему через поиск или фильтры
  3. Наведите курсор и нажмите «Установить»
  4. После установки нажмите «Активировать»

Способ 2: Загрузка ZIP-файла

  1. Внешний вид → Темы → Добавить → Загрузить тему
  2. Выберите ZIP-файл с компьютера
  3. Нажмите «Установить»
  4. После установки нажмите «Активировать»

Способ 3: Через FTP/файловый менеджер

  1. Распакуйте ZIP-файл темы
  2. Загрузите папку темы в /wp-content/themes/
  3. Перейдите в Внешний вид → Темы в админ-панели
  4. Нажмите «Активировать»
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Кастомайзер (Customizer)

Что такое Кастомайзер?

Кастомайзер — это встроенный инструмент WordPress для визуальной настройки внешнего вида сайта с предпросмотром в реальном времени.

Как открыть?

Внешний вид → Настроить (Appearance → Customize)

Главное преимущество

Все изменения отображаются сразу в режиме предпросмотра. Вы видите результат до сохранения изменений. Это безопасно — можно экспериментировать без риска «сломать» сайт.

Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Возможности Кастомайзера

Основные разделы

Раздел Что настраивается
Реквизиты сайта Название, описание, иконка сайта
Цвета Основная цветовая схема, фон
Шрифты и типографика Семейство шрифтов, размеры
Логотип Загрузка и обрезка логотипа
Фоновое изображение Фоновая картинка для сайта
Меню Создание и назначение меню
Виджеты Блоки в сайдбарах и футере
Главная страница (статичная) Выбор страницы для главной
Дополнительный CSS Кастомные стили

Блоковые темы (FSE)

Вместо Кастомайзера используется редактор «Редактор сайта» (Site Editor) с визуальным редактированием шаблонов через блоки.

Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Настройка цветов и типографики

Цвета

  • Цветовая схема — выбор основной цветовой палитры
  • Основной цвет — для ссылок, кнопок, акцентов
  • Цвет фона — фон сайта и контента
  • Цвет текста — основной текстовый цвет
  • Рекомендация: используйте не более 3-4 цветов для гармоничного дизайна

Шрифты и типографика

  • Семейство шрифтов — Google Fonts или системные шрифты
  • Размер шрифта — базовый размер текста (обычно 16px)
  • Высота строки — межстрочный интервал (обычно 1.5)
  • Вес шрифта — насыщенность (normal, bold)
  • Рекомендация: используйте не более 2 шрифтов — для заголовков и основного текста
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Настройка логотипа и фавиконки

Логотип сайта

  1. Внешний вид → Настроить → Реквизиты сайта
  2. Нажмите «Выбрать логотип»
  3. Загрузите изображение (рекомендуется SVG или PNG с прозрачным фоном)
  4. Обрежьте и отмасштабируйте
  5. Сохраните изменения

Требования к логотипу

  • Рекомендуемый размер: 200x100 px (масштабируется)
  • Формат: SVG, PNG, JPG
  • Для Retina-дисплеев: загрузите изображение в 2 раза больше
  • Разрешение: не менее 72 dpi

Фавиконка (Favicon)

  1. Внешний вид → Настроить → Реквизиты сайта
  2. Нажмите «Выбрать иконку сайта»
  3. Загрузите изображение (квадратное, минимум 512x512 px)
  4. WordPress автоматически сгенерирует нужные размеры
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Настройка главной страницы

Статичная главная страница

По умолчанию WordPress показывает блог (последние записи) на главной. Для бизнес-сайта обычно нужна статичная страница.

Как настроить?

  1. Создайте две страницы: «Главная» и «Блог»
  2. Настройки → Чтение
  3. Выберите «Статическая страница»
  4. Назначьте «Главная» как домашнюю страницу
  5. Назначьте «Блог» как страницу записей

Результат

  • На главной — произвольный контент (лендинг, визитка)
  • На странице «Блог» — лента последних записей
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Конструкторы страниц (Page Builders)

Что это?

Конструкторы страниц — плагины, позволяющие создавать сложные макеты страниц визуально, методом drag-and-drop, без написания кода.

Популярные конструкторы

  • Elementor — самый популярный, бесплатная версия
  • Beaver Builder — быстрый, чистый код
  • Divi Builder — встроен в тему Elegant Themes
  • Bricks Builder — современный, FSE-совместимый
  • SiteOrigin Page Builder — бесплатный, lightweight

Плюсы конструкторов

  • Визуальное редактирование (WYSIWYG)
  • Готовые шаблоны и блоки
  • Не нужно знать HTML/CSS
  • Быстрое прототипирование

Минусы конструкторов

  • Утяжеляют страницу (избыточный HTML/CSS)
  • Зависимость от плагина
  • Возможны конфликты с другими плагинами
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Что такое дочерняя тема (Child Theme)?

Определение

Дочерняя тема (Child Theme) — это тема, которая наследует функциональность и оформление другой темы (родительской) и позволяет вносить изменения безопасно.

Зачем нужна дочерняя тема?

  • Безопасность обновлений — при обновлении родительской темы ваши изменения не потеряются
  • Безопасность модификаций — все кастомные правки хранятся в дочерней теме
  • Расширяемость — можно добавлять новый функционал через functions.php
  • Модульность — легко откатить изменения, удалив дочернюю тему

Аналогия

  • Родительская тема — это оригинал документа
  • Дочерняя тема — это копия с пометками
  • Оригинал можно обновить, а пометки останутся на копии
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Как работает дочерняя тема

Принцип наследования

WordPress загружает файлы по следующей логике:

  1. WordPress проверяет наличие файла в дочерней теме
  2. Если файл найден — используется файл дочерней темы
  3. Если файл не найден — используется файл родительской темы

Исключение: functions.php

Оба файла functions.php (дочерней и родительской темы) загружаются. Файл дочерней темы загружается после файла родительской.

Что можно переопределить?

  • Все PHP-шаблоны (header.php, footer.php, single.php и т.д.)
  • style.css (полностью или частично)
  • Любые файлы шаблонов из иерархии
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Структура дочерней темы

Минимальная структура

child-theme/
├── style.css         (обязательный)
├── functions.php     (рекомендуемый)
├── screenshot.png    (необязательный)
└── (другие файлы — только те,
     которые нужно переопределить)

style.css дочерней темы

/*
Theme Name: My Child Theme
Description: Дочерняя тема
  для Twenty Twenty-Four
Author: Имя автора
Template: twentytwentyfour
Version: 1.0
Text Domain: my-child-theme
*/

.site-title {
    color: #1a73e8;
}

Ключевая строка

  • Template: twentytwentyfour — указывает на папку родительской темы (обязательное поле!)
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Подключение стилей родительской темы

functions.php дочерней темы

<?php
add_action('wp_enqueue_scripts',
    'my_child_enqueue_styles');
function my_child_enqueue_styles() {
    wp_enqueue_style('parent-style',
        get_template_directory_uri()
        . '/style.css');
    wp_enqueue_style('child-style',
        get_stylesheet_uri(),
        array('parent-style'),
        wp_get_theme()->get('Version')
    );
}

Ключевые функции

  • get_template_directory_uri() — URL родительской темы
  • get_stylesheet_uri() — URL текущей (дочерней) темы
  • get_template_directory() — путь к родительской теме
  • get_stylesheet_directory() — путь к текущей (дочерней) теме
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Создание дочерней темы: практические шаги

Пошаговая инструкция

  1. Создайте папку в /wp-content/themes/ (например, twentytwentyfour-child)
  2. Создайте style.css с заголовком темы и полем Template
  3. Создайте functions.php с подключением стилей родительской темы
  4. Загрузите screenshot.png (1200x900 px) для превью
  5. Активируйте дочернюю тему через Внешний вид → Темы

Альтернативные способы создания

  • Плагины: Child Theme Configurator, Child Theme Wizard — создают дочернюю тему автоматически
  • Инструменты: underscores (_s) позволяет генерировать стартовую тему

Когда создавать дочернюю тему?

  • Планируете кастомизировать CSS-стили
  • Нужно изменить шаблоны PHP
  • Хотите добавить функционал через functions.php
  • Работаете над клиентским проектом
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Переопределение шаблонов в дочерней теме

Пример: изменение подвала сайта

Скопируйте footer.php из родительской темы в дочернюю и внесите изменения:

<footer class="site-footer">
    <div class="container">
        <p>&copy; <?php echo date('Y'); ?>
           Мой сайт. Все права защищены.</p>
        <div class="social-links">
            <a href="#">Telegram</a>
            <a href="#">Instagram</a>
        </div>
    </div>
</footer>

Правила переопределения

  • Копируйте только те файлы, которые нужно изменить
  • Сохраняйте структуру директорий
  • При обновлении родительской темы проверьте, не изменились ли шаблоны
  • Комментируйте изменения для удобства поддержки
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Кастомные типы записей и темы

CPT и шаблоны

Многие плагины (WooCommerce и др.) регистрируют кастомные типы записей (Custom Post Types). Для их отображения используются специальные шаблоны:

  • single-{post-type}.php — шаблон отдельной записи
  • archive-{post-type}.php — архив кастомного типа
  • taxonomy-{taxonomy}.php — шаблон таксономии

Пример: WooCommerce

  • single-product.php — карточка товара
  • archive-product.php — каталог товаров
  • taxonomy-product_cat.php — категория товаров

WooCommerce позволяет переопределять шаблоны в дочерней теме, копируя файлы из wp-content/plugins/woocommerce/templates/ в wp-content/themes/child-theme/woocommerce/.

Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Кастомные поля и темы

Кастомные поля (Custom Fields)

Дополнительные данные, которые можно прикрепить к записям и страницам:

  • Цена товара — для каталога
  • Рейтинг — для обзоров
  • Адрес — для контактов
  • Цвет — для товаров с вариациями

Плагины для кастомных полей

  • Advanced Custom Fields (ACF) — самый популярный
  • CMB2 — бесплатная библиотека для разработчиков
  • Meta Box — мощный и гибкий инструмент

Как использовать в шаблоне

<h3><?php the_field('price'); ?> руб.</h3>
<p><?php the_field('address'); ?></p>
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Оптимизация темы для производительности

Что замедляет тему?

Фактор Решение
Лишние CSS/JS Отключайте неиспользуемые скрипты
Неоптимизированные изображения WebP, lazy loading, сжатие
Слишком много шрифтов Ограничьте до 2 шрифтов
Иконки-шрифты vs SVG Предпочитайте SVG
Встроенные стили/скрипты Минифицируйте и объединяйте

Практические рекомендации

  1. Выбирайте лёгкие темы (GeneratePress, Astra)
  2. Используйте кэширование (WP Super Cache)
  3. Оптимизируйте изображения (Smush, ShortPixel)
  4. Отключайте неиспользуемые скрипты (Perfmatters)
  5. Проверяйте скорость через PageSpeed Insights
  6. Минифицируйте CSS/JS
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Безопасность тем

Уязвимости в темах

  • Закодированные ссылки — скрытые ссылки на сторонние сайты (SEO-спам)
  • Обфусцированный код — намеренно запутанный PHP-код
  • Backdoor — скрытые двери для несанкционированного доступа
  • Remote File Inclusion (RFI) — подключение вредоносных файлов

Правила безопасности

  • Устанавливайте темы только из надёжных источников
  • Избегайте nulled-тем (взломанных платных тем)
  • Проверяйте код темы перед использованием
  • Регулярно обновляйте тему
  • Используйте дочернюю тему для модификаций
  • Сканируйте сайт плагинами безопасности (Wordfence, Sucuri)
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Тема как основа бренда

Визуальная идентичность

Тема — это лицо вашего бренда в интернете. Она должна соответствовать:

  • Цветовой палитре бренда
  • Типографике (логотип, шрифты)
  • Стилю компании (строгий, креативный, минималистичный)
  • Целевой аудитории (молодёжь, бизнес, дети)

Принципы хорошего дизайна темы

  • Простота — не перегружайте элементами
  • Согласованность — единый стиль на всех страницах
  • Читаемость — контрастные цвета, достаточный размер шрифта
  • Адаптивность — корректное отображение на мобильных устройствах
  • Скорость — быстрый первый экран (LCP < 2.5s)
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Резюме лекции

Понятие темы

  • Тема — набор файлов, определяющих визуальное оформление сайта
  • Принцип MVC: отделение логики от представления
  • Иерархия шаблонов определяет, какой файл использовать для каждой страницы

Работа с темами

  • Репозиторий WordPress.org — 12 000+ бесплатных тем
  • Три способа установки: из репозитория, ZIP-файл, FTP
  • Кастомайзер — визуальная настройка с предпросмотром
  • Конструкторы страниц (Elementor) — визуальное создание макетов

Дочерние темы

  • Обязательны для любых кастомных модификаций
  • Защищают изменения при обновлении родительской темы
  • Минимальная структура: style.css (с полем Template) + functions.php

Безопасность и оптимизация

  • Только надёжные источники тем
  • Лёгкие темы для производительности
  • Регулярные обновления
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Вопросы для самопроверки

Основные понятия

  1. Что такое тема CMS и для чего она нужна?
  2. В чём заключается принцип отделения логики от представления?
  3. Какие обязательные файлы должны входить в состав темы WordPress?
  4. Что такое иерархия шаблонов WordPress?

Работа с темами

  1. Перечислите способы установки темы.
  2. Какие критерии выбора темы вы знаете?
  3. В чём разница между бесплатными и платными темами?
  4. Что такое Кастомайзер и каковы его возможности?

Дочерние темы

  1. Зачем нужна дочерняя тема?
  2. Какие файлы обязательны для дочерней темы?
  3. Как работает наследование в дочерней теме?
  4. Чем get_template_directory() отличается от get_stylesheet_directory()?

Практика

  1. Как создать дочернюю тему для Twenty Twenty-Four?
  2. Как переопределить шаблон footer.php в дочерней теме?
  3. Какие правила безопасности тем вы знаете?
Внешний вид сайта: темы и шаблоны
Системы управления веб-контентом

Полезные ресурсы

Репозитории и каталоги

Документация

Инструменты

Кастомизация

Внешний вид сайта: темы и шаблоны

Лекция 8 из курса «Системы управления веб-контентом». Тема посвящена темам и шаблонам CMS — ключевому инструменту настройки внешнего вида сайта. После лекции студенты должны уметь устанавливать, настраивать и кастомизировать темы, а также создавать дочерние темы. Связь с предыдущими лекциями: в лекции 7 мы изучали плагины, расширяющие функционал. Теперь переходим к визуальной составляющей.

Начинаем с плана лекции. Четыре основных блока: понятие темы, работа с темами, кастомизация, дочерние темы. Упор будет сделан на практические навыки — установку, настройку через Кастомайзер, создание дочерней темы.

Ключевой момент: тема определяет только ВИЗУАЛЬНОЕ оформление, а не контент. Можно сменить тему и все записи, страницы, изображения останутся на месте — изменится только их отображение. Аналогия со зданием хорошо помогает понять суть. Приведите пример: если на сайте 100 записей и вы смените тему, все 100 записей будут отображаться в новом дизайне.

Паттерн MVC — один из важнейших в веб-разработке. Студентам важно понимать, что тема реализует только View. WordPress не является строгой MVC-системой, но принцип разделения логики и представления соблюдается. Подчеркните: при смене темы данные не теряются. Это частый страх новичков.

Два обязательных файла: style.css и index.php. Без них тема не будет работать. Остальные файлы необязательны, но почти любая тема их содержит. functions.php — отдельный разговор: он не является шаблоном, это файл с функциональностью темы. Расскажите, что header.php, footer.php и sidebar.php подключаются через get_header(), get_footer(), get_sidebar().

Иерархия шаблонов — важнейший концепт WordPress. Студенты должны понимать принцип «цепочки fallback». WordPress ищет шаблоны слева направо и использует первый найденный. Полная диаграмма доступна на developer.wordpress.org/themes/basics/template-hierarchy/ — покажите студентам. Практический пример: если нужна индивидуальная страница для рубрики «Новости», создаём category-novosti.php.

Заголовок темы в style.css — это то, как WordPress «узнаёт» тему. Без Theme Name тема не отобразится в списке тем. Поле Template используется только в дочерних темах — об этом поговорим позже. Обратите внимание на Requires PHP — важное поле, определяющее минимальную версию PHP.

functions.php — ключевой файл. Подчеркните разницу с плагином. Код в functions.php привязан к конкретной теме. Сменили тему — код перестал работать. Поэтому для критичного функционала (SEO, безопасность, бэкапы) всегда используйте плагины. wp_enqueue_scripts — правильный способ подключения CSS/JS в WordPress (не через тег link в header.php).

Template Tags — это «строительные блоки» для шаблонов темы. Обратите внимание на разницу между the_title() и get_the_title(): первая выводит, вторая возвращает значение. get_header(), get_footer(), get_sidebar() — не Template Tags в строгом смысле, но важно упомянуть их здесь. Полный список: developer.wordpress.org/themes/basics/template-tags/

Блоковые темы (FSE) — относительно новый подход в WordPress. Для специалистов по электронной экономике важно знать о двух подходах. Классические темы по-прежнему доминируют, но FSE — это будущее. Покажите демонстрацию: откройте редактор сайта в WordPress с блоковой темой (например, Twenty Twenty-Four).

Все темы в репозитории проходят проверку на безопасность командой WordPress. Это не гарантирует 100% безопасность, но существенно снижает риски. Покажите карточку темы на wordpress.org/themes — продемонстрируйте все элементы. Фильтры: «Featured», «Popular», «Latest», а также фильтры по особенностям (columns, e-commerce, blog).

Подчеркните: критерии выбора темы аналогичны критериям выбора плагина (лекция 7). Закодированные ссылки — распространённая проблема в бесплатных темах с внешних сайтов (не из репозитория). Проверьте тему через Theme Check (плагин) перед использованием. Адаптивность (mobile-first) сейчас — обязательное требование, не опция.

Для учебных целей и простых проектов достаточно бесплатных тем. Платные темы оправданы для коммерческих проектов с уникальными требованиями. «Блоб» — ситуация, когда тема включает в себя всё: слайдеры, конструкторы, Mega Menu. Это плохо для производительности. Проблема Freemium: многие бесплатные темы — это «обрезанные» версии платных, что часто разочаровывает пользователей.

Astra и GeneratePress — две самые рекомендуемые темы для бизнеса. Astra — 3+ млн установок, работает с Elementor, Beaver Builder, Divi. GeneratePress — 300 000+ установок, минималистичная, одна из самых быстрых. ThemeForest — крупнейший маркетплейс, но качество тем сильно варьируется. Для лабораторных работ будем использовать Twenty Twenty-Four (стандартная тема WordPress).

Покажите демонстрацию установки темы из репозитория прямо в админ-панели. Важно: установка и активация — это разные действия. Можно установить несколько тем и переключаться между ними. При активации новой темы предыдущая остаётся установленной — можно вернуться к ней. Способ 3 (FTP) используется редко, в основном для разработки.

Кастомайзер доступен в WordPress с версии 4.0 (2014). Ключевое преимущество: «что вижу, то и получу». Изменения не сохраняются, пока не нажмёте «Опубликовать». Если что-то пошло не так — просто закройте Кастомайзер без сохранения. Для блоковых тем (FSE) Кастомайзер заменён редактором сайта (Site Editor).

Набор разделов зависит от темы. Некоторые темы добавляют свои собственные разделы. Раздел «Дополнительный CSS» позволяет добавлять кастомные стили без редактирования файлов — удобно для мелких правок. Покажите демонстрацию Кастомайзера на реальном сайте. Упомяните: плагины (например, Elementor) добавляют свои разделы в Кастомайзер.

Правило «не более 3-4 цветов» — классическое правило дизайна. Основной, дополнительный, акцентный, фоновый. Google Fonts — самый популярный источник веб-шрифтов. Многие темы интегрируют их. Системные шрифты (system-ui) загружаются быстрее, т.к. не требуют внешнего запроса. Высота строки 1.5 — стандарт для читаемости. Меньше — тесно, больше — текст «размазывается».

SVG — лучший формат для логотипа: масштабируется без потери качества, маленький размер файла. Фавиконка отображается во вкладке браузера, в закладках и в результатах поиска. WordPress автоматически создаёт все размеры фавиконки из одного загруженного изображения (apple-touch-icon, favicon.ico и т.д.). Покажите на примере: загрузите простой логотип и фавиконку в Кастомайзере.

Это один из самых частых вопросов от новичков: «Почему у меня на главной странице показываются записи?». Ответ: по умолчанию WordPress настроен как блог. Для бизнес-сайта нужно переключить на статичную главную. Покажите демонстрацию на реальном сайте — создайте две пустые страницы и настройте. Две страницы нужны даже если «Блог» пока не нужен — WordPress требует назначить страницу для записей.

Elementor — самый популярный конструктор (5+ млн установок). Бесплатная версия покрывает 80% задач. Конструкторы страниц — мощный инструмент, но не стоит увлекаться. Для бизнес-сайта часто достаточно хорошей темы + Кастомайзера.

Это ключевой слайд лекции. Дочерние темы — обязательная практика в WordPress-разработке. Объясните, что произойдёт, если редактировать файлы родительской темы напрямую: при следующем обновлении все изменения будут потеряны. Аналогия с документом хорошо объясняет суть. Аналогия со слоями в Photoshop тоже работает.

Это важнейший механический слайд. Студенты должны чётко понимать порядок загрузки. Подчеркните исключение: functions.php НЕ переопределяется, а ДОПОЛНЯЕТСЯ. Оба файла загружаются. Это ключевое отличие от шаблонов, которые полностью переопределяются.

Поле Template — самое важное поле в дочерней теме. Без него WordPress не поймёт, какая тема является родительской. Обратите внимание: Template содержит имя ПАПКИ, а не название темы. screenshot.png — 1200x900 px, отображается как превью в панели тем.

Подчеркните разницу: template = родительская, stylesheet = текущая (дочерняя). Порядок подключения важен: сначала родительский стиль, затем дочерний — чтобы дочерние стили могли переопределять родительские. Четвёртый параметр wp_get_theme()->get('Version') добавляет версию темы для сброса кэша при обновлении.

Покажите демонстрацию: создайте дочернюю тему прямо на лекции через файловый менеджер хостинга. Плагин Child Theme Configurator — самый простой способ для новичков. Подчеркните: дочернюю тему нужно создавать ДО начала кастомизации, а не после.

Покажите на примере: откройте файловый менеджер, скопируйте footer.php из twentytwentyfour в дочернюю тему, внесите изменения. Важно: при обновлении родительской темы нужно проверить, не изменился ли шаблон, который вы переопределили.

Это будет важно при изучении модуля электронной коммерции (лекции 10-12). WooCommerce использует свой механизм шаблонов, но принцип тот же: копируй в дочернюю тему и редактируй.

ACF — стандарт де-факто для работы с кастомными полями в WordPress. Покажите, как ACF позволяет создавать поля через интерфейс и выводить их в шаблоне темы.

Связь с лекцией 7: плагины кэширования (WP Super Cache) мы уже изучали. PageSpeed Insights — основной инструмент Google для проверки скорости. Рекомендуйте проверять регулярно.

Nulled-темы — взломанные платные темы, распространяемые бесплатно. Часто содержат backdoor и malware. Никогда не используйте nulled-темы — это прямой путь к взлому сайта.

Свяжите с электронной экономикой: для интернет-магазина дизайн напрямую влияет на конверсию. Первое впечатление формируется за 0.05 секунды. Дизайн должен вызывать доверие. Google учитывает скорость загрузки (Core Web Vitals) в ранжировании.

Подведите итоги. Задайте студентам вопрос: «Какая тема вам больше нравится и почему?». Упомяните, что на следующей лекции будем изучать управление пользователями и правами доступа.

Эти вопросы можно использовать для опроса на следующем занятии или для самостоятельной подготовки к экзамену. Особенно важны вопросы 9-12 о дочерних темах — это ключевая тема лекции.